package com.tegtech.starter.oshi.domain.server;

import cn.hutool.core.util.NumberUtil;
import lombok.Data;

/**
 * 內存相关信息
 * 
 * @author Jun
 */
@Data
public class Mem {
	
	/**
	 * 内存总量
	 */
	private double total;

	/**
	 * 已用内存
	 */
	private double used;

	/**
	 * 剩余内存
	 */
	private double free;

	public double getTotal() {
		return NumberUtil.div(total, (1024 * 1024 * 1024), 2);
	}

	public double getUsed() {
		return NumberUtil.div(used, (1024 * 1024 * 1024), 2);
	}

	public double getFree() {
		return NumberUtil.div(free, (1024 * 1024 * 1024), 2);
	}

	public double getUsage() {
		return NumberUtil.mul(NumberUtil.div(used, total, 4), 100);
	}
	
}
